﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace eSDK_TP_Demo_CS_CSharp.FunctionPage
{
    /// <summary>
    /// Interaction logic for AddSiteToConf_Code.xaml
    /// </summary>
    public partial class AddSiteToConf_Code : UserControl
    {
        
        public AddSiteToConf_Code()
        {
            InitializeComponent();
            AddSiteToConf_Code_Loaded();
        }

        private void AddSiteToConf_Code_Loaded()
        {
            this.Code_FilowDocument.Inlines.Add("  \r\n");
            Bold bold = new Bold();
            bold.Inlines.Add("AddSiteToConf_UI.xaml.cs\r\n");
            bold.FontSize = 15;
            this.Code_FilowDocument.Inlines.Add(bold);
            this.Code_FilowDocument.Inlines.Add("  \r\n");
            this.Code_FilowDocument.Inlines.Add("using System;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Collections.Generic;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Linq;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Text;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Controls;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Data;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Documents;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Input;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Media;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Media.Imaging;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Navigation;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Windows.Shapes;\r\n");
            this.Code_FilowDocument.Inlines.Add("using com.huawei.esdk.tp.professional.DataType;\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("namespace eSDK_TP_Demo_CS_CSharp.FunctionPage\r\n");
            this.Code_FilowDocument.Inlines.Add("{\r\n");
            this.Code_FilowDocument.Inlines.Add("    public partial class AddSiteToConf_UI : UserControl\r\n");
            this.Code_FilowDocument.Inlines.Add("    {\r\n");
            this.Code_FilowDocument.Inlines.Add("        AuthorizeService loginService = new AuthorizeService();\r\n");
            this.Code_FilowDocument.Inlines.Add("        ConferenceService service = new ConferenceService();\r\n");
            this.Code_FilowDocument.Inlines.Add("        List<SiteInfoEx> allSitesInfo = new List<SiteInfoEx>();\r\n");
            this.Code_FilowDocument.Inlines.Add("        List<SiteStatusEx> siteStatusList = new List<SiteStatusEx>();\r\n");
            this.Code_FilowDocument.Inlines.Add("        QueryResultCode queryResultCode = new QueryResultCode();\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        public AddSiteToConf_UI()\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            InitializeComponent();\r\n");
            this.Code_FilowDocument.Inlines.Add("            getSiteList();\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        //获取所有会场列表\r\n");
            this.Code_FilowDocument.Inlines.Add("        private void getSiteList()\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            loginService.Login();\r\n");
            this.Code_FilowDocument.Inlines.Add("            allSitesInfo = service.QuerySites();\r\n");
            this.Code_FilowDocument.Inlines.Add("            if (allSitesInfo != null)\r\n");
            this.Code_FilowDocument.Inlines.Add("                this.SiteInfoList.ItemsSource = allSitesInfo;\r\n");
            this.Code_FilowDocument.Inlines.Add("            \r\n");
            this.Code_FilowDocument.Inlines.Add("            loginService.Logout();\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        private void AddSiteToConf_Loaded(object sender, RoutedEventArgs e)\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            this.beginTimeText.Text = DateTime.Now.ToString();\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        //向会议添加会场\r\n");
            this.Code_FilowDocument.Inlines.Add("        private void AddSiteBut_Click(object sender, RoutedEventArgs e)\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            loginService.Login();\r\n");
            this.Code_FilowDocument.Inlines.Add("            bool falg = true;\r\n");
            this.Code_FilowDocument.Inlines.Add("            try\r\n");
            this.Code_FilowDocument.Inlines.Add("            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                string confId = this.confIDText.Text;\r\n");
            this.Code_FilowDocument.Inlines.Add("                if (getConfSiteList(confId) == 0)\r\n");
            this.Code_FilowDocument.Inlines.Add("                {\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("                    DateTime beginTime = DateTime.Parse(this.beginTimeText.Text);\r\n");
            this.Code_FilowDocument.Inlines.Add("                    foreach (SiteInfoEx site in this.SiteInfoList.SelectedItems)\r\n");
            this.Code_FilowDocument.Inlines.Add("                    {\r\n");
            this.Code_FilowDocument.Inlines.Add("                        falg = true;\r\n");
            this.Code_FilowDocument.Inlines.Add("                        for (int i = 0; i < siteStatusList.Count; i++)\r\n");
            this.Code_FilowDocument.Inlines.Add("                        {\r\n");
            this.Code_FilowDocument.Inlines.Add("                            if (site.uri.Equals(siteStatusList[i].uri))\r\n");
            this.Code_FilowDocument.Inlines.Add("                            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                                falg = false;\r\n");
            this.Code_FilowDocument.Inlines.Add("                                break;\r\n");
            this.Code_FilowDocument.Inlines.Add("                            }\r\n");
            this.Code_FilowDocument.Inlines.Add("                        }\r\n");
            this.Code_FilowDocument.Inlines.Add("                        if (falg)\r\n");
            this.Code_FilowDocument.Inlines.Add("                        {\r\n");
            this.Code_FilowDocument.Inlines.Add("                            //调用ConferenceService的AddSiteToConf方法，实现向会议添加会场\r\n");
            bold = new Bold();
            bold.Foreground = new SolidColorBrush(Colors.Red);
            bold.Inlines.Add("                            int result = service.AddSiteToConf(site.name, confId, beginTime, site.type, site.uri);\r\n");
            this.Code_FilowDocument.Inlines.Add(bold);
            this.Code_FilowDocument.Inlines.Add("                            if (result == 0)\r\n");
            this.Code_FilowDocument.Inlines.Add("                            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                                this.OperationDefeatText.Visibility = Visibility.Collapsed;\r\n");
            this.Code_FilowDocument.Inlines.Add("                                this.OperationSucceedText.Visibility = Visibility.Visible;\r\n");
            this.Code_FilowDocument.Inlines.Add("                            }\r\n");
            this.Code_FilowDocument.Inlines.Add("                            else\r\n");
            this.Code_FilowDocument.Inlines.Add("                            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                                this.OperationDefeatText.Visibility = Visibility.Visible;\r\n");
            this.Code_FilowDocument.Inlines.Add("                                this.OperationSucceedText.Visibility = Visibility.Collapsed;\r\n");
            this.Code_FilowDocument.Inlines.Add("                            }\r\n");
            this.Code_FilowDocument.Inlines.Add("                            this.ResultCodeText.Text = result.ToString();\r\n");
            this.Code_FilowDocument.Inlines.Add("                        }\r\n");
            this.Code_FilowDocument.Inlines.Add("                    }\r\n");
            this.Code_FilowDocument.Inlines.Add("                    getConfSiteList(confId);\r\n");
            this.Code_FilowDocument.Inlines.Add("                    this.ConfSiteList.ItemsSource = siteStatusList;\r\n");
            this.Code_FilowDocument.Inlines.Add("                    this.SiteInfoList.Visibility = Visibility.Collapsed;\r\n");
            this.Code_FilowDocument.Inlines.Add("                    this.ConfSiteList.Visibility = Visibility.Visible;\r\n");
            this.Code_FilowDocument.Inlines.Add("                }\r\n");
            this.Code_FilowDocument.Inlines.Add("                else\r\n");
            this.Code_FilowDocument.Inlines.Add("                {\r\n");
            this.Code_FilowDocument.Inlines.Add("                    this.OperationSucceedText.Visibility = Visibility.Collapsed;\r\n");
            this.Code_FilowDocument.Inlines.Add("                    this.OperationDefeatText.Visibility = Visibility.Visible;\r\n");
            this.Code_FilowDocument.Inlines.Add("                    this.ResultCodeText.Text = queryResultCode.Result.ToString();\r\n");
            this.Code_FilowDocument.Inlines.Add("                }\r\n");
            this.Code_FilowDocument.Inlines.Add("            }\r\n");
            this.Code_FilowDocument.Inlines.Add("            catch (Exception ex)\r\n");
            this.Code_FilowDocument.Inlines.Add("            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                MessageBox.Show(ex.Message);\r\n");
            this.Code_FilowDocument.Inlines.Add("            }\r\n");
            this.Code_FilowDocument.Inlines.Add("            finally\r\n");
            this.Code_FilowDocument.Inlines.Add("            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                loginService.Login();\r\n");
            this.Code_FilowDocument.Inlines.Add("            }\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        private void SiteListBut_Click(object sender, RoutedEventArgs e)\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            this.SiteInfoList.Visibility = Visibility.Visible;\r\n");
            this.Code_FilowDocument.Inlines.Add("            this.ConfSiteList.Visibility = Visibility.Collapsed;\r\n");
            this.Code_FilowDocument.Inlines.Add("            this.SiteInfoList.ItemsSource = allSitesInfo;\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        //获取指定会议的所有会场状态\r\n");
            this.Code_FilowDocument.Inlines.Add("        private int getConfSiteList(string confId)\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            queryResultCode = service.QueryConfSitesStatus(confId);\r\n");
            this.Code_FilowDocument.Inlines.Add("            siteStatusList = queryResultCode.SiteStatusList;\r\n");
            this.Code_FilowDocument.Inlines.Add("            return queryResultCode.Result;\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("    }\r\n");
            this.Code_FilowDocument.Inlines.Add("}\r\n");


            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            bold = new Bold();
            bold.Inlines.Add("ConferenceService.cs\r\n");
            bold.FontSize = 15;
            this.Code_FilowDocument.Inlines.Add(bold);
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("using System;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Collections.Generic;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Linq;\r\n");
            this.Code_FilowDocument.Inlines.Add("using System.Text;\r\n");
            this.Code_FilowDocument.Inlines.Add("//引用项目所用到的包\r\n");
            bold = new Bold();
            bold.Foreground = new SolidColorBrush(Colors.Red);
            bold.Inlines.Add("using com.huawei.esdk.tp.professional.local;\r\n");
            this.Code_FilowDocument.Inlines.Add(bold);
            bold.Inlines.Add("using com.huawei.esdk.tp.professional.DataType;\r\n");
            this.Code_FilowDocument.Inlines.Add(bold);
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("namespace eSDK_TP_Demo_CS_CSharp\r\n");
            this.Code_FilowDocument.Inlines.Add("{\r\n");
            this.Code_FilowDocument.Inlines.Add("    public class ConferenceService\r\n");
            this.Code_FilowDocument.Inlines.Add("    {\r\n");
            this.Code_FilowDocument.Inlines.Add("        //定义ConferenceMgrServiceEx\r\n");
            bold = new Bold();
            bold.Foreground = new SolidColorBrush(Colors.Red);
            bold.Inlines.Add("        private ConferenceMgrServiceEx service = null;\r\n");
            this.Code_FilowDocument.Inlines.Add(bold);
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        public ConferenceService()\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            //实例化ConferenceMgrServiceEx\r\n");
            bold = new Bold();
            bold.Foreground = new SolidColorBrush(Colors.Red);
            bold.Inlines.Add("            service = ConferenceMgrServiceEx.Instance();\r\n");
            this.Code_FilowDocument.Inlines.Add(bold);
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        // 向会议中添加会场\r\n");
            this.Code_FilowDocument.Inlines.Add("        public int AddSiteToConf(string name, string confID, DateTime beginTime, int siteType, string siteUri)\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            SiteInfoEx siteInfo = new SiteInfoEx();\r\n");
            this.Code_FilowDocument.Inlines.Add("            siteInfo.name = name;\r\n");
            this.Code_FilowDocument.Inlines.Add("            siteInfo.uri = siteUri;\r\n");
            this.Code_FilowDocument.Inlines.Add("            siteInfo.type = siteType;\r\n");
            this.Code_FilowDocument.Inlines.Add("            //调用ConferenceMgrServiceEx中addSiteToConfEx实现向会议添加会场的功能\r\n");
            bold = new Bold();
            bold.Foreground = new SolidColorBrush(Colors.Red);
            bold.Inlines.Add("            TPSDKResponseEx<List<SiteAccessInfoEx>> result = service.addSiteToConfEx(confID, siteInfo, beginTime);\r\n");
            this.Code_FilowDocument.Inlines.Add(bold);
            bold.Inlines.Add("            int resultCode = result.resultCode;\r\n");
            this.Code_FilowDocument.Inlines.Add(bold);
            this.Code_FilowDocument.Inlines.Add("            if (0 == resultCode)\r\n");
            this.Code_FilowDocument.Inlines.Add("            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                List<SiteAccessInfoEx> list = result.result;\r\n");
            this.Code_FilowDocument.Inlines.Add("            }\r\n");
            this.Code_FilowDocument.Inlines.Add("            return resultCode;\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("        // 查询所有会场信息\r\n");
            this.Code_FilowDocument.Inlines.Add("        public List<SiteInfoEx> QuerySites()\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            List<SiteInfoEx> sites = null; \r\n");
            this.Code_FilowDocument.Inlines.Add("            TPSDKResponseEx<List<SiteInfoEx>> result = service.querySitesEx();\r\n");
            this.Code_FilowDocument.Inlines.Add("            int resultCode = result.resultCode;\r\n");
            this.Code_FilowDocument.Inlines.Add("            if (0 == resultCode)\r\n");
            this.Code_FilowDocument.Inlines.Add("                sites = result.result;\r\n");
            this.Code_FilowDocument.Inlines.Add("\r\n");
            this.Code_FilowDocument.Inlines.Add("            return sites;\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("        // 查询指定会议的所有会场状态\r\n");
            this.Code_FilowDocument.Inlines.Add("        public QueryResultCode QueryConfSitesStatus(string confId)\r\n");
            this.Code_FilowDocument.Inlines.Add("        {\r\n");
            this.Code_FilowDocument.Inlines.Add("            QueryResultCode queryResultCode = new QueryResultCode();\r\n");
            this.Code_FilowDocument.Inlines.Add("            TPSDKResponseEx<List<SiteStatusEx>> result = service.queryConfSitesStatusEx(confId, null);\r\n");
            this.Code_FilowDocument.Inlines.Add("            int resultCode = result.resultCode;\r\n");
            this.Code_FilowDocument.Inlines.Add("            queryResultCode.Result = resultCode;\r\n");
            this.Code_FilowDocument.Inlines.Add("            if (0 == resultCode)\r\n");
            this.Code_FilowDocument.Inlines.Add("            {\r\n");
            this.Code_FilowDocument.Inlines.Add("                queryResultCode.SiteStatusList = result.result;\r\n");
            this.Code_FilowDocument.Inlines.Add("            }\r\n");
            this.Code_FilowDocument.Inlines.Add("            return queryResultCode;\r\n");
            this.Code_FilowDocument.Inlines.Add("        }\r\n");
            this.Code_FilowDocument.Inlines.Add("    }\r\n");
            this.Code_FilowDocument.Inlines.Add("}\r\n");

        }
    }
}
